Conversational ai based on real-time contextual information for autonomous vehicles

ABSTRACT

The present technology is effective to receive a list of topics for discussion, initiate a conversation with a passenger of an autonomous vehicle, receive sensor data from sensors of the autonomous vehicle; determine, based upon sensor data received from the autonomous vehicle and the first topic, contextual information to present in the conversation with the passenger; and present the contextual information in the conversation to the passenger. The list of topics may be determined by a user. The conversation may include at least a first topic. The first topic may be included in the list of topics for discussion.

TECHNICAL FIELD

The present technology pertains to a conversational artificialintelligence for autonomous vehicles and more specifically pertains to aconversational artificial intelligence utilizing real-time contextualinformation gathered by sensors of autonomous vehicles in conversation.

BACKGROUND

An autonomous vehicle is a motorized vehicle that can navigate without ahuman driver. An exemplary autonomous vehicle includes a plurality ofsensor systems, such as, but not limited to, a camera sensor system, alidar sensor system, a radar sensor system, amongst others, wherein theautonomous vehicle operates based upon sensor signals output by thesensor systems. Specifically, the sensor signals are provided to aninternal computing system in communication with the plurality of sensorsystems, wherein a processor executes instructions based upon the sensorsignals to control a mechanical system of the autonomous vehicle, suchas a vehicle propulsion system, a braking system, or a steering system.

Passengers in a car ride rely on other passengers or a human driver forentertainment and conversation. In an autonomous vehicle, the passengermay be the only person in the vehicle; thus the passenger may not haveany other person to converse with.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-recited and other advantages and features of the presenttechnology will become apparent by reference to specific implementationsillustrated in the appended drawings. A person of ordinary skill in theart will understand that these drawings only show some examples of thepresent technology and would not limit the scope of the presenttechnology to these examples. Furthermore, the skilled artisan willappreciate the principles of the present technology as described andexplained with additional specificity and detail through the use of theaccompanying drawings in which:

FIG. 1 shows an example system for operating an autonomous vehicle inaccordance with some aspects of the present technology;

FIG. 2 an example environment of an autonomous vehicle presentingcontextualized information in accordance with some aspects of thepresent technology;

FIG. 3 is a flow diagram of an example process for presentingcontextualized information in accordance with some aspects of thepresent technology; and

FIG. 4 shows an example of a system for implementing certain aspects ofthe present technology.

DETAILED DESCRIPTION

Various examples of the present technology are discussed in detailbelow. While specific implementations are discussed, it should beunderstood that this is done for illustration purposes only. A personskilled in the relevant art will recognize that other components andconfigurations may be used without parting from the spirit and scope ofthe present technology. In some instances, well-known structures anddevices are shown in block diagram form in order to facilitatedescribing one or more aspects. Further, it is to be understood thatfunctionality that is described as being carried out by certain systemcomponents may be performed by more or fewer components than shown.

The disclosed technology addresses the need in the art for aconversational artificial intelligence (AI) based on real-timecontextual information gathered by sensors of an autonomous vehicle.Some AIs are currently able to converse with users for limited purposessuch as to disambiguate a request, r to inform the user of the AI'sprogress in fulfilling the request, or to gather more information neededto handle a request. However, AI is not currently used to carry outgeneral conversations for a period of time. Additionally, an autonomousvehicle has access to more contextual information regarding the user'ssurrounding environment than most other conversational AI based onsensor data gathered by sensors of the autonomous vehicle. For example,the autonomous vehicle may determine landmarks based on camera sensorson the autonomous vehicle. Thus, an autonomous vehicle can offer moretopics of conversation and can offer more fluid conversation by relyingon sensor data to determine contextual information regarding the user'ssurroundings.

By utilizing sensor data to determine contextualized information, theautonomous vehicle may develop an AI, hologram, and/or other avatar toconverse with passengers of the autonomous vehicle. Furthermore, theautonomous vehicle may then interact with a database or a remotecomputing system to determine additional information about objectsdetected by the sensor systems of the autonomous vehicle. For example,the sensors of the autonomous vehicle may detect a popular landmark andthe autonomous vehicle may then communicate with a database to determinewhen the landmark was built. The autonomous vehicle may then converse,through the AI, hologram, and/or avatar, with the passenger to presentwhen the landmark was built.

Furthermore, different passengers may generally be interested indifferent topics. Thus, the autonomous vehicle may also determine thesedifferent topics and communicate the contextualized information abouteach topic individually to each passenger.

In some scenarios, the passenger may be a child travelling alone withouta parent or guardian. Thus, the parent or guardian who is not presentmay worry about the child. Similarly, the child may feel worried oruncomfortable without his or her parent present. Thus, the autonomousvehicle may, with the consent of the parent or guardian, generate theAI, hologram, and/or other avatar in the likeness of the parent orguardian, which may provide comfort and/or confidence to the child.Furthermore, the autonomous vehicle may, with the consent of the parentor guardian, use in-cabin sensors to provide a live video feed of thechild passenger to the parent or guardian, so that the parent orguardian can observe that child as the child travels alone.

FIG. 1 illustrates environment 100 that includes an autonomous vehicle102 in communication with a remote computing system 150.

The autonomous vehicle 102 can navigate about roadways without a humandriver based upon sensor signals output by sensor systems 104-106 of theautonomous vehicle 102. The autonomous vehicle 102 includes a pluralityof sensor systems 104-106 (a first sensor system 104 through an Nthsensor system 106). The sensor systems 104-106 are of different typesand are arranged about the autonomous vehicle 102. For example, thefirst sensor system 104 may be a camera sensor system, and the Nthsensor system 106 may be a lidar sensor system. Other exemplary sensorsystems include radar sensor systems, global positioning system (GPS)sensor systems, inertial measurement units (IMU), infrared sensorsystems, laser sensor systems, sonar sensor systems, and the like.

The autonomous vehicle 102 further includes several mechanical systemsthat are used to effectuate appropriate motion of the autonomous vehicle102. For instance, the mechanical systems can include but are notlimited to, a vehicle propulsion system 130, a braking system 132, and asteering system 134. The vehicle propulsion system 130 may include anelectric motor, an internal combustion engine, or both. The brakingsystem 132 can include an engine brake, brake pads, actuators, and/orany other suitable componentry that is configured to assist indecelerating the autonomous vehicle 102. The steering system 134includes suitable componentry that is configured to control thedirection of movement of the autonomous vehicle 102 during navigation.

The autonomous vehicle 102 further includes a safety system 136 that caninclude various lights and signal indicators, parking brake, airbags,etc. The autonomous vehicle 102 further includes a cabin system 138 thatcan include cabin temperature control systems, in-cabin entertainmentsystems, audio systems, etc.

The autonomous vehicle 102 additionally comprises an internal computingsystem 110 that is in communication with the sensor systems 104-106 andthe systems 130, 132, 134, 136, and 138. The internal computing systemincludes at least one processor and at least one memory havingcomputer-executable instructions that are executed by the processor. Thecomputer-executable instructions can make up one or more servicesresponsible for controlling the autonomous vehicle 102, communicatingwith remote computing system 150, receiving inputs from passengers orhuman co-pilots, logging metrics regarding data collected by sensorsystems 104-106 and human co-pilots, etc.

The internal computing system 110 can include a control service 112 thatis configured to control the operation of the vehicle propulsion system130, the braking system 132, the steering system 134, the safety system136, and the cabin system 138. The control service 112 receives sensorsignals from the sensor systems 104-106 as well communicates with otherservices of the internal computing system 110 to effectuate operation ofthe autonomous vehicle 102. In some embodiments, control service 112 maycarry out operations in concert one or more other systems of autonomousvehicle 102.

The internal computing system 110 can also include a constraint service114 to facilitate safe propulsion of the autonomous vehicle 102. Theconstraint service 114 includes instructions for activating a constraintbased on a rule-based restriction upon operation of the autonomousvehicle 102. For example, the constraint may be a restriction uponnavigation that is activated in accordance with protocols configured toavoid occupying the same space as other objects, abide by traffic laws,circumvent avoidance areas, etc. In some embodiments, the constraintservice can be part of the control service 112.

The internal computing system 110 can also include a communicationservice 116. The communication service can include both software andhardware elements for transmitting and receiving signals from/to theremote computing system 150. The communication service 116 is configuredto transmit information wirelessly over a network, for example, throughan antenna array that provides personal cellular (long-term evolution(LTE), 3G, 5G, etc.) communication.

In some embodiments, one or more services of the internal computingsystem 110 are configured to send and receive communications to remotecomputing system 150 for such reasons as reporting data for training andevaluating machine learning algorithms, requesting assistance fromremoting computing system or a human operator via remote computingsystem 150, software service updates, ridesharing pickup and drop offinstructions, accessing a database or information stored on the remotecomputing system 150, etc.

The internal computing system 110 can also include a latency service118. The latency service 118 can utilize timestamps on communications toand from the remote computing system 150 to determine if a communicationhas been received from the remote computing system 150 in time to beuseful. For example, when a service of the internal computing system 110requests feedback from remote computing system 150 on a time-sensitiveprocess, the latency service 118 can determine if a response was timelyreceived from remote computing system 150 as information can quicklybecome too stale to be actionable. When the latency service 118determines that a response has not been received within a threshold, thelatency service 118 can enable other systems of autonomous vehicle 102or a passenger to make necessary decisions or to provide the neededfeedback.

The internal computing system 110 can also include a user interfaceservice 120 that can communicate with cabin system 138 in order toprovide information or receive information to a human co-pilot or humanpassenger. In some embodiments, a human co-pilot or human passenger maybe required to evaluate and override a constraint from constraintservice 114, or the human co-pilot or human passenger may wish toprovide an instruction to the autonomous vehicle 102 regardingdestinations, requested routes, or other requested operations.

The internal computing system 110 can also include a conversationalservice 122 to initiate conversation or communication with the humanpassenger. The conversational service 122 may utilize the cabin system138 to audibly output information to the human passenger of theautonomous vehicle 102. Furthermore, the conversational service 122 mayutilize the sensor systems 104-106, such as a microphone for spokenlanguages or a camera for non-spoken communication (e.g. sign languageor a passenger pointing to identify a direction), to receive informationfrom the passenger.

The internal computing system 110 can also include an avatar service 124to generate an image, avatar, and/or hologram. The avatar service 124provides a visual method of presenting information. Thus, theconversational service 122 and the avatar service 124 may in parallel toboth audibly and visually present information to the human passenger.The avatar service 124 may be coupled with display hardware in cabin ofthe autonomous vehicle 102. The display hardware may include one or morein-car displays that project the avatar thereon and/or therethrough. Insome embodiments, the avatar service 124 displays an image or avatar ona window of the autonomous vehicle 102. In some embodiments, the avatarservice 124 generates an interactive hologram in the cabin of theautonomous vehicle 102.

As described above, the remote computing system 150 is configured tosend/receive a signal from the autonomous vehicle 102 regardingreporting data for training and evaluating machine learning algorithms,requesting assistance from remote computing system 150 or a humanoperator via the remote computing system 150, software service updates,rideshare pickup and drop off instructions, access to a database orinformation stored on the remote computing system 150, etc.

The remote computing system 150 includes an analysis service 152 that isconfigured to receive data from autonomous vehicle 102 and analyze thedata to train or evaluate machine learning algorithms for operating theautonomous vehicle 102. The analysis service 152 can also performanalysis pertaining to data associated with one or more errors orconstraints reported by autonomous vehicle 102.

The remote computing system 150 can also include a user interfaceservice 154 configured to present metrics, video, pictures, soundsreported from the autonomous vehicle 102 to an operator of remotecomputing system 150. User interface service 154 can further receiveinput instructions from an operator that can be sent to the autonomousvehicle 102.

The remote computing system 150 can also include an instruction service156 for sending instructions regarding the operation of the autonomousvehicle 102. For example, in response to an output of the analysisservice 152 or user interface service 154, instructions service 156 canprepare instructions to one or more services of the autonomous vehicle102 or a co-pilot or passenger of the autonomous vehicle 102.

The remote computing system 150 can also include a rideshare service 158configured to interact with ridesharing application 170 operating on(potential) passenger computing devices. The rideshare service 158 canreceive requests to be picked up or dropped off from passengerridesharing app 170 and can dispatch autonomous vehicle 102 for thetrip. The rideshare service 158 can also act as an intermediary betweenthe ridesharing app 170 and the autonomous vehicle wherein a passengermight provide instructions to the autonomous vehicle to 102 go around anobstacle, change routes, honk the horn, etc.

The remote computing system 150 can also include an information service160 that may obtain, store, and communicate information about variousobjects and landmarks. For example, the information service 160 may be adatabase that contains details about landmarks and buildings. Similarly,the information service 160 may contain passenger information inpassenger profiles that are associated with the respective passenger.For example, the passenger profile may include topics of interest forthe respective passenger.

As described herein, one aspect of the present technology is thegathering and use of data available from various sources to improvequality and experience. The present disclosure contemplates that in someinstances, this gathered data may include personal information. Thepresent disclosure contemplates that the entities involved with suchpersonal information respect and value privacy policies and practices.

FIG. 2 an example environment 200 of the autonomous vehicle 102presenting contextualized information in accordance with some aspects ofthe present technology. The autonomous vehicle 102 may drive by objects202, such landmarks, buildings, points of interests, animals, and/orother detected objects during a journey with the passenger. Theautonomous vehicle 102 may then present the information about the object202. In some embodiments, the object 202 may be based on sensor datadetected in real time. Thus, the information about the object 202 wouldbe real-time, contextualized information. As shown, in some embodiments,the autonomous vehicle 102 may present the information through ahologram or avatar 204. Similarly, in some embodiments, the presentationof information may occur on a display or window 206. As discussed above,the avatar service 124 may include an in-car display, on which theavatar 204 presents information. In some embodiments, the in-car displaymay be the window to allow the avatar 204 to point and visuallyreference objects 202 during conversations with the passenger.

FIG. 3 is a flow diagram of an example process 300 for presentingcontextualized information in accordance with some aspects of thepresent technology. While the process 300 may be implemented by varioussystems, this disclosure implements the process 300 through the internalcomputing system 110 for clarity and discussion purposes.

The process 300 begins at step 302. At step 302, the internal computingsystem 110 receives a request to opt-in or initiate contextualconversation with the passenger. More specifically, the internalcomputing system 110 may receive, through the user interface service120, a request to initiate contextual conversation. In some embodiments,the remote computing system 150 may receive the request through theridesharing application 170 associated with a mobile device of a user.The internal computing system 110 may then receive the request from theremote computing system 150 through the communication service 116. Thus,the internal computing system 110 may receive the request remotely fromthe user. The request may also include a list of topics for discussion,which is determined by a user or the passenger. The list of topics fordiscussion may indicate topics that the passenger is interested in. Forexample, the passenger may indicate an interest in architecture byincluding architecture in the list.

In some embodiments, the list of topics for discussion may be found in apassenger profile associated with the passenger, which may be accessedusing the information service 160 on the remote computing system 150.For example, the passenger may indicate in the passenger profile aninterest in architecture. Thus, the internal computing system 110 mayaccess the internal computing system 110 to determine the list of topicsfor discussion with the passenger. It is further contemplated that thelist of topics may also be developed through previous conversations withthe passenger on previous journeys. Thus, the list of topics may evolveor change over time without explicit input from the passenger.

In some embodiments, the request may be received from a mobile device ofa user associated with the passenger. For example, the user may be aparent or guardian of the passenger who is familiar with the interestsof the child passenger. Thus, the parent user may send from their phone,via the ridesharing application 170, the request to the autonomousvehicle 102 including the list of topics. Similarly, in someembodiments, the parent user may also send, with the request, an imageor live video feed of the user captured using sensors, so that theavatar service 124 may use the image or live video feed to generate anavatar or hologram for the passenger to observe. It is furthercontemplated that the image of the user may simply be captured by thesensor systems 104-106 of the autonomous vehicle 102 when the user isriding along with the passenger.

In some embodiments, the internal computing system 110 may then verifyand authenticate that the user is associated with the passenger. Afterverifying and authenticating that the user is indeed associated with thepassenger, the internal computing system may also receive, from sensorsin the cabin of the autonomous vehicle, live video feed of thepassenger. Then, the internal computing system 110 may send, to themobile device of the user, the live video feed of the passenger, so thatthe parent user may watch the child passenger during the ride.Similarly, live video feed of sensor systems 104-106 of the autonomousvehicle 102 may be streamed to the mobile device of the user prior tothe child passenger boarding the autonomous vehicle 102. Thus, in somescenarios, the user may assist the autonomous vehicle 102 in identifyingthe child passenger to be picked up by the autonomous vehicle 102.

In some embodiments, the internal computing system 110 may, via sensorsinside the cabin of the autonomous vehicle 102, detect that thepassenger is bored. More specifically, cameras inside of the cabin ofthe autonomous vehicle 102 may observe the face of the passenger anddetermine that the passenger is uninterested or bored. Accordingly,instead of receiving a request from the passenger or user, the internalcomputing system 110 may determine that conversation or communicationshould be initiated with the passenger based upon the detected boredstate.

Next, at step 304, the internal computing system 110 initiatescommunication or conversation with the passenger. More specifically, theinternal computing system 110 initiates a conversation about a firsttopic included in the list of topics for discussion. For example, theinternal computing system 110 may output, via the cabin system 138,“Good afternoon passenger. Would you like to talk about architecture?”In some scenarios, the list of topics for discussion may include similartopics, such as architecture and civil engineering. Thus, the internalcomputing system 110 may group the topics and converse generally aboutmultiple topics together.

At step 306, the internal computing system 110 receives sensor dataobtained by the sensor systems 104-106 of the autonomous vehicle 102.The sensor systems 104-106 may include cameras that obtain image sensordata, such as images of various objects 202 in an environment around theautonomous vehicle 102. The internal computing system would then detectobjects 202 in the sensor data. For example, the camera system maycapture an image or video of the Golden Gate Bridge. The internalcomputing system 110 would then receive the image or video of the GoldenGate Bridge as sensor data and detect the Golden Gate Bridge in theimage or video.

At step 308, the internal computing system 110 determines contextualinformation. More specifically, the internal computing system 110determines contextual information based upon the sensor data receivedfrom the sensor systems 104-106 of the autonomous vehicle and at leastthe first topic for discussion. Furthermore, the internal computingsystem 110 may, based on detected objects 202 in the sensor data,communicate, using the communication service 116, with the informationsystem 160 of the remote computing system 150 to determine details aboutthe detected objects 202. For example, the internal computing system 110may access a landmark database on the remote computing system 150 todetermine the architect behind the Golden Gate Bridge. By using thelive, context-based sensor data and the topics that interest thepassenger, the internal computing system 110 may determine contextualinformation to present to the passenger. In some embodiments, theinformation system 160 may be located on a cloud computing system.

Then, at step 310, the internal computing system 110 presents thecontextual information in the conversation with the passenger. Asdiscussed briefly above, the internal computing system 110 may use thecabin system 138 to communicate with the passenger. In further detailnow, the cabin system 138 may include an audio system so that theinternal computing system 110 may audibly present the contextualinformation to the passenger. For example, the internal computing systemmay output, via the cabin system 138, “To the right is the Golden GateBridge. It was built by architect Joseph Strauss.”

In some embodiments, the cabin system may be configured to generate thehologram or avatar 204 in the cabin of the autonomous vehicle 102. Thehologram or avatar 204 provides a visual method of presenting contextualinformation. For example, the avatar 204 may also interact with orotherwise include a text-box or subtitles, such that the text-box orsubtitles allow the passenger to read the contextual information.Furthermore, the hologram or avatar 204 may be rendered differentlybased on each passenger. For example, the passenger may choose adifferent persona for the hologram or avatar 204 so that the passengerfeels that they like or relate to the chosen persona.

In some embodiments, the hologram or avatar 204 may be generated basedupon the image of the user. Similarly, in some embodiments, the image ofthe user is a portion of a live video feed of the user, such that thehologram 204 may replicate the live video feed of the user, so that thepassenger is able to communicate with the user.

In some of these embodiments, the hologram or avatar 204 may be basedupon the image received from the parent user in step 302. By generatingthe hologram or avatar 204 based upon the parent user, the internalcomputing system 110 may help comfort child passengers who areuncomfortable riding without a parent or guardian present.

It is further contemplated that the hologram or avatar 204 may interactwith multiple passengers. Similarly, multiple holograms or avatars 204may be generated for multiple passengers. Thus, each of the multipleholograms or avatars 204 may be generated with different appearances andallow for comfort with different passengers.

At step 312, the internal computing system 110 determines whether topresent information about a second topic. The second topic may be atopic in the list of topics for discussion. In some embodiments, thesecond topic may also be determined based on a wide range of factorsincluding, but not limited to, frequency of reference, pitch of voicewhen discussing the topic, etc.

In some embodiments, the internal computing system 110 may determine topresent information about the second topic by detecting the second topicin the conversation. In other words, the internal computing system 110may detect, in the conversation with the passenger, words or phrasesassociated with the second topic. For example, the passenger may haveindicated an interest in color theory, in addition to architecture. Thepassenger may then have asked why the Golden Gate Bridge is orange andnot golden, to which the internal computing system 110 may detect thewords or phrases associated with color theory (i.e. orange and golden).The internal computing system 110 may then determine to presentinformation about the second topic (i.e. color theory).

In some embodiments, the internal computing system 110 may receive acommand from the user or passenger. The command may indicate and/or beeffective to initiate a change of the conversation from the first topicto the second topic.

If the internal computing system 110 determines not to presentinformation about a second topic, the process 300 returns to step 310,in which the internal computing system 110 continues to present thecontextual information in the conversation with the passenger.

If the internal computing system 110 determines to present informationabout the second topic, the process 300 continues to step 314. At step314, the internal computing system 110 determines additional contextualinformation. Similar to the contextual information determined at step308, the additional contextual information is based upon the sensor dataand the second topic. Furthermore, the internal computing system 110 mayagain communicate with the remote computing system 150 to determineadditional details about the detected objects 202. Continuing the colortheory and architecture example above, the internal computing system 110may then access the database on the remote computing system 150 todetermine the reason behind the Golden Gate Bridge being orange.

At step 316, the internal computing system 110 then presents theadditional contextual information in the conversation with thepassenger. Like the presentation in step 310, the internal computingsystem 110 may present the additional contextual information using thecabin system 138. Again, continuing the Golden Gate Bridge exampleabove, the internal computing system 110 may cause the hologram 204 tostate “The Golden Gate Bridge is orange because designer Irving Morrowfelt the color orange, rather than the usual gray, complemented theenvironment around the Bridge.”

It is further contemplated that the process 300 may stop at any step302-316, if the internal computing system 110 receives a command tostop.

FIG. 4 shows an example of computing system 400, which can be forexample any computing device making up internal computing system 110,remote computing system 150, (potential) passenger device executingrideshare app 170, or any component thereof in which the components ofthe system are in communication with each other using connection 405.Connection 405 can be a physical connection via a bus, or a directconnection into processor 410, such as in a chipset architecture.Connection 405 can also be a virtual connection, networked connection,or logical connection.

In some embodiments, computing system 400 is a distributed system inwhich the functions described in this disclosure can be distributedwithin a datacenter, multiple data centers, a peer network, etc. In someembodiments, one or more of the described system components representsmany such components each performing some or all of the function forwhich the component is described. In some embodiments, the componentscan be physical or virtual devices.

Example system 400 includes at least one processing unit (CPU orprocessor) 410 and connection 405 that couples various system componentsincluding system memory 415, such as read-only memory (ROM) 420 andrandom access memory (RAM) 425 to processor 410. Computing system 400can include a cache of high-speed memory 412 connected directly with, inclose proximity to, or integrated as part of processor 410.

Processor 410 can include any general purpose processor and a hardwareservice or software service, such as services 432, 434, and 436 storedin storage device 430, configured to control processor 410 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. Processor 410 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

To enable user interaction, computing system 400 includes an inputdevice 445, which can represent any number of input mechanisms, such asa microphone for speech, a touch-sensitive screen for gesture orgraphical input, keyboard, mouse, motion input, speech, etc. Computingsystem 400 can also include output device 435, which can be one or moreof a number of output mechanisms known to those of skill in the art. Insome instances, multimodal systems can enable a user to provide multipletypes of input/output to communicate with computing system 400.Computing system 400 can include communications interface 440, which cangenerally govern and manage the user input and system output. There isno restriction on operating on any particular hardware arrangement, andtherefore the basic features here may easily be substituted for improvedhardware or firmware arrangements as they are developed.

Storage device 430 can be a non-volatile memory device and can be a harddisk or other types of computer readable media which can store data thatare accessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,random access memories (RAMs), read-only memory (ROM), and/or somecombination of these devices.

The storage device 430 can include software services, servers, services,etc., that when the code that defines such software is executed by theprocessor 410, it causes the system to perform a function. In someembodiments, a hardware service that performs a particular function caninclude the software component stored in a computer-readable medium inconnection with the necessary hardware components, such as processor410, connection 405, output device 435, etc., to carry out the function.

For clarity of explanation, in some instances, the present technologymay be presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

Any of the steps, operations, functions, or processes described hereinmay be performed or implemented by a combination of hardware andsoftware services or services, alone or in combination with otherdevices. In some embodiments, a service can be software that resides inmemory of a client device and/or one or more servers of a contentmanagement system and perform one or more functions when a processorexecutes the software associated with the service. In some embodiments,a service is a program or a collection of programs that carry out aspecific function. In some embodiments, a service can be considered aserver. The memory can be a non-transitory computer-readable medium.

In some embodiments, the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer-readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The executable computer instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, solid-state memory devices, flash memory, USB devices providedwith non-volatile memory, networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include servers,laptops, smartphones, small form factor personal computers, personaldigital assistants, and so on. The functionality described herein alsocan be embodied in peripherals or add-in cards. Such functionality canalso be implemented on a circuit board among different chips ordifferent processes executing in a single device, by way of furtherexample.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

Although a variety of examples and other information was used to explainaspects within the scope of the appended claims, no limitation of theclaims should be implied based on particular features or arrangements insuch examples, as one of ordinary skill would be able to use theseexamples to derive a wide variety of implementations. Further andalthough some subject matter may have been described in languagespecific to examples of structural features and/or method steps, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to these described features or acts. Forexample, such functionality can be distributed differently or performedin components other than those identified herein. Rather, the describedfeatures and steps are disclosed as examples of components of systemsand methods within the scope of the appended claims.

What is claimed is:
 1. A method comprising: receiving a list of topicsfor discussion, the list determined by a user; initiating a conversationwith a passenger of an autonomous vehicle, the conversation including atleast a first topic, the first topic included in the list of topics fordiscussion; receiving sensor data from sensors of the autonomousvehicle; determining, based upon sensor data received from theautonomous vehicle and the first topic, contextual information topresent in the conversation with the passenger; and presenting thecontextual information in the conversation to the passenger.
 2. Themethod of claim 1, further comprising: detecting, in the conversationwith the passenger, a second topic included in the list of topics fordiscussion; determining, based upon sensor data received from theautonomous vehicle and the second topic, additional contextualinformation to present in the conversation with the passenger; andpresenting the additional contextual information in the conversation tothe passenger.
 3. The method of claim 1, further comprising: receiving acommand from the user, the command effective to initiate a change of theconversation from the first topic to a second topic, the second topicincluded in the list of topics for discussion; determining, based uponsensor data received from the autonomous vehicle and the second topic,additional contextual information to present in the conversation withthe passenger; and presenting the additional contextual information inthe conversation to the passenger.
 4. The method of claim 1, furthercomprising: receiving an image of a user; and generating an avatar,within a cabin of the autonomous vehicle, for a passenger to observe,wherein the avatar is based upon the image of the user.
 5. The method ofclaim 4, wherein the image of the user is captured using sensors of amobile device of the user.
 6. The method of claim 4, further comprising:receiving, from sensors in the cabin of the autonomous vehicle, livevideo feed of the passenger; and sending, to a mobile device of theuser, the live video feed of the passenger.
 7. The method of claim 4,wherein the image of the user is a portion of a live video feed of theuser and the avatar replicates the live video feed.
 8. A systemcomprising: at least one processor; and at least one memory storingcomputer-readable instructions that, when executed by the at least oneprocessor, causes the at least one processor to: receive a list oftopics for discussion, the list determined by a user; initiate aconversation with a passenger of an autonomous vehicle, the conversationincluding at least a first topic, the first topic included in the listof topics for discussion; receive sensor data from sensors of theautonomous vehicle; determine, based upon sensor data received from theautonomous vehicle and the first topic, contextual information topresent in the conversation with the passenger; and present thecontextual information in the conversation to the passenger.
 9. Thesystem of claim 8, wherein the instructions further cause the at leastone processor to: detect, in the conversation with the passenger, asecond topic included in the list of topics for discussion; determine,based upon sensor data received from the autonomous vehicle and thesecond topic, additional contextual information to present in theconversation with the passenger; and present the additional contextualinformation in the conversation to the passenger.
 10. The system ofclaim 8, wherein the instructions further cause the at least oneprocessor to: receive a command from the user, the command effective toinitiate a change of the conversation from the first topic to a secondtopic, the second topic included in the list of topics for discussion;determine, based upon sensor data received from the autonomous vehicleand the second topic, additional contextual information to present inthe conversation with the passenger; and present the additionalcontextual information in the conversation to the passenger.
 11. Thesystem of claim 8, wherein the instructions further cause the at leastone processor to: receive an image of a user; and generate a avatar,within a cabin of the autonomous vehicle, for a passenger to observe,wherein the avatar is based upon the image of the user.
 12. The systemof claim 11, wherein the image of the user is captured using sensors ofa mobile device of the user.
 13. The system of claim 11, wherein theinstructions further cause the at least one processor to: receive, fromsensors in the cabin of the autonomous vehicle, live video feed of thepassenger; and send, to a mobile device of the user, the live video feedof the passenger.
 14. The system of claim 11, wherein the image of theuser is a portion of a live video feed of the user and the avatarreplicates the live video feed.
 15. A non-transitory computer readablemedium comprising instructions, the instructions, when executed by atleast one processor, cause the at least one processor to: receive a listof topics for discussion, the list determined by a user; initiate aconversation with a passenger of an autonomous vehicle, the conversationincluding at least a first topic, the first topic included in the listof topics for discussion; receive sensor data from sensors of theautonomous vehicle; determine, based upon sensor data received from theautonomous vehicle and the first topic, contextual information topresent in the conversation with the passenger; and present thecontextual information in the conversation to the passenger.
 16. Thenon-transitory computer readable medium of claim 15, wherein theinstructions further cause the at least one processor to: detect, in theconversation with the passenger, a second topic included in the list oftopics for discussion; determine, based upon sensor data received fromthe autonomous vehicle and the second topic, additional contextualinformation to present in the conversation with the passenger; andpresent the additional contextual information in the conversation to thepassenger.
 17. The non-transitory computer readable medium of claim 15,wherein the instructions further cause the at least one processor to:receive a command from the user, the command effective to initiate achange of the conversation from the first topic to a second topic, thesecond topic included in the list of topics for discussion; determine,based upon sensor data received from the autonomous vehicle and thesecond topic, additional contextual information to present in theconversation with the passenger; and present the additional contextualinformation in the conversation to the passenger.
 18. The non-transitorycomputer readable medium of claim 15, wherein the instructions furthercause the at least one processor to: receive an image of a user; andgenerate a avatar, within a cabin of the autonomous vehicle, for apassenger to observe, wherein the avatar is based upon the image of theuser.
 19. The non-transitory computer readable medium of claim 18,wherein the image of the user is captured using sensors of a mobiledevice of the user.
 20. The non-transitory computer readable medium ofclaim 18, wherein the instructions further cause the at least oneprocessor to: receive, from sensors in the cabin of the autonomousvehicle, live video feed of the passenger; and send, to a mobile deviceof the user, the live video feed of the passenger.